如何使用SQL语句为 Azure SQL 创建用户

momo314相同方式共享非商业用途署名转载

 首先在 azure 管理门户中找到目标数据库,并进入该数据库所在的服务器的管理页面,将自己的账号添加为 Active Directory 管理员,以保证自己有足够的权限。

然后在 master 数据库中执行以下 SQL 语句:

-- 创建登录名
CREATE LOGIN [login_name] WITH PASSWORD = N'password'
GO

登录名只能登录sqlserver服务器,但是不能访问数据库资源。存储于在master数据库的syslogins表中。

执行完毕之后,再在想要添加用户的目标数据库中执行以下 SQL 语句:

-- 创建用户
CREATE USER user_name FROM LOGIN login_name WITH DEFAULT_SCHEMA = dbo
GO
EXEC sp_addrolemember N'db_owner', N'user_name'
GO

至此,用户已经创建完成,可以使用新创建的用户来登录 Azure SQL 数据库了。


附表: 常见数据库角色

role type description
sysadmin server 执行SQL Server中的任何动作
serveradmin server 配置服务器设置
setupadmin server 安装复制和管理扩展过程
securityadmin server 管理登录和CREATE DATABASE的权限以及阅读审计
processadmin server 管理SQL Server进程
dbcreator server 创建和修改数据库
diskadmin server 管理磁盘文件
db_owner db 可以执行数据库中技术所有动作的用户
db_accessadmin db 可以添加、删除用户的用户
db_datareader db 可以查看所有数据库中用户表内数据的用户
db_datawriter db 可以添加、修改或删除所有数据库中用户表内数据的用户
db_ddladmin db 可以在数据库中执行所有DDL操作的用户
db_securityadmin db 可以管理数据库中与安全权限有关所有动作的用户
db_backoperator db 可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)
db_denydatareader db 不能看到数据库中任何数据的用户
db_denydatawriter db 不能改变数据库中任何数据的用户
db_denydatawriter db 不能改变数据库中任何数据的用户
public db 一种特殊的角色,每个合法用户都属于该角色; 提供所有默认权限。
✎﹏ 本文来自于 momo314和他们家的猫,文章原创,转载请注明作者并保留原文链接。